1. Field of the Invention
Embodiments of the present invention relate generally to testing platforms and, more specifically, to command line interface robustness testing.
2. Description of the Related Art
To configure and manage a hardware/software product, the vendor typically provides a command-line interface (CLI) tool. The CLI includes a wide range of commands that can be executed by a user to perform various tasks on the product, such as network configuration, log analysis, etc. As the functionality provided by a product grows, the number and the complexity of the commands included in the CLI grow exponentially.
When developing such a CLI, testing the multitude of permutations of the commands included in the tool is extremely challenging. For example, if a command has five options, and each option can have three possible values, 3^5 tests would need to be generated and executed on the CLI to determine whether the command operates correctly. It is important to note that the CLI may include hundreds of such commands that would each need to be individually tested. To accurately and efficiently test each of the commands included in the CLI, a different test case would need to be generated and analyzed for each or the permutations. Such a task, if done manually, is extremely error-prone and takes a significant amount of time.
As the foregoing illustrates, what is needed in the art is a mechanism for generating test cases for commands provided by a CLI.